package Atm01;

import java.util.InputMismatchException;
import java.util.Scanner;

/**
 * 面向对象版本的ATM
 */
public class ATMObject {

    private User[] users = {
            new User("aaaaaa", "111111", 1000),
            new User("bbbbbb", "222222", 2000),
            new User("cccccc", "333333", 3000),
            new User("dddddd", "444444", 4000),
            new User("eeeeee", "555555", 5000),
    };
    private Scanner sc = new Scanner(System.in);
    private int index;

    // 控制ATM流程的方法
    public void process() {
        System.out.println("欢迎使用Lovo银行");
        while (true) {
            login();
            menu();
        }
    }

    // 登录方法
    public void login() {
        for(int i = 0;i < 3;i++){
            System.out.println("请输入账号：");
            String account = sc.next();
            System.out.println("请输入密码：");
            String pwd = sc.next();
            for(int j = 0;j < users.length;j++){
                if(users[j].getAccount().equals(account)
                        && users[j].getPwd().equals(pwd)){
                    System.out.println("登录成功");
                    index = j;
                    return;
                }
            }
            System.out.println("账号或密码错误，请重新输入，还剩"+(2 - i)+"次");
        }
        System.out.println("次数用完，卡已被吞！");
        System.exit(0); // 系统结束
    }

    // 菜单界面
    public void menu() {
        while(true){
            System.out.println("请选择：1-查询 2-存款 3-取款 4-转账 5-切换账号 6-退出 7-修改密码");
            int input = 0;
            try{
                input = sc.nextInt();
            }catch(InputMismatchException e){
                System.out.println("输入有误，请重新输入");
                sc.next();
                continue;
            }
            if(input == 1){
                search();
            }else if(input == 2){
                save();
            }else if(input == 3){
                get();
            }else if(input == 4){
                transfer();
            }else if(input == 5){
                System.out.println("账号登出");
                return;
            }else if(input == 6){
                System.out.println("谢谢使用，再见！");
                System.exit(0);
            }else if(input == 7){
                if(changePwd()){
                    System.out.println("已登出");
                    return;
                }

            }else{
                System.out.println("选择有误，请重新选择");
            }
        }
    }

    // 存款
    public void save() {
        System.out.println("请输入存入的金额：");
        double money = sc.nextDouble();
        users[index].setBlance(users[index].getBlance() + money);
        System.out.println("存款成功");
    }

    // 取款
    public void get() {
    }



    // 查询
    public void search() {
        System.out.println("您的余额为："+users[index].getBlance());

    }

    // 转账
    public void transfer() {
    }

    // 修改密码
    public boolean changePwd() {
        return false;
    }

    public static void main(String[] args) {
        ATMObject atmObject = new ATMObject();
        atmObject.process();
    }

}
